#include<stdio.h>
int F[110][110];
main()
{
	int L = 0,l,r,d = 0,line,row,Max,Min,P=0,Q;
	scanf("%d %d",&line,&row);/*输入行列*/ 
	for(l = 0;l < line;l ++){/*输入元素*/ 
		for(r = 0;r < row;r ++){
			scanf("%d",&F[l][r]);
		}
	}
	for(L = 0;L < line;L ++){/*大行循环*/ 
		Max = F[L][0];
		for(r = 0;r < row;r ++){/*判断行最大*/ 
			if(F[L][r] > Max){
				Max = F[L][r];
				d = r;/*行中最大数的列数*/ 
			}
		}
		Min = F[L][d];
		for(l = 0;l < line;l ++){/*判断列最小*/ 
			if(F[l][d] < Min){
				Min = F[l][d];
				Q = l;/*列中最小数的行数*/ 
			}
		}
		if(Max == Min){/*判断鞍点*/ 
			P = 1;
			printf("%d %d %d\n",L,d,Max); 
		}		
	}
	if(P == 0){
		printf("no");
	}
    
	return 0;
}